projects
/
emacs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
263d8b1
)
(internal_equal): Return t for two NaN arguments.
author
Eli Zaretskii
<eliz@is.elta.co.il>
Mon, 29 Dec 2003 13:51:54 +0000
(13:51 +0000)
committer
Eli Zaretskii
<eliz@is.elta.co.il>
Mon, 29 Dec 2003 13:51:54 +0000
(13:51 +0000)
src/fns.c
patch
|
blob
|
history
diff --git
a/src/fns.c
b/src/fns.c
index e4252c98ca5fd7517a22d2765c02fd8cadf4fcc9..ff40c706edd372fc642bc404bdec3533c97b245f 100644
(file)
--- a/
src/fns.c
+++ b/
src/fns.c
@@
-2169,7
+2169,15
@@
internal_equal (o1, o2, depth)
switch (XTYPE (o1))
{
case Lisp_Float:
- return (extract_float (o1) == extract_float (o2));
+ {
+ double d1, d2;
+
+ d1 = extract_float (o1);
+ d2 = extract_float (o2);
+ /* If d is a NaN, then d != d. Two NaNs should be `equal' even
+ though they are not =. */
+ return d1 == d2 || (d1 != d1 && d2 != d2);
+ }
case Lisp_Cons:
if (!internal_equal (XCAR (o1), XCAR (o2), depth + 1))